#ifndef VIRTUALDEVICE_H
#define VIRTUALDEVICE_H

#include "deviceinterface.h"
#include <queue>

class VirtualDevice : public DeviceInterface
{
public:
    VirtualDevice(const std::string &path);

    ~VirtualDevice();

    bool open() override;

    void close() override;

    bool isOpen() const override;

    void write(const std::vector<uint8_t>& data, const uint16_t &timeout) override;

    std::string getDescription() const override;
private:
    bool m_isOpen;
    std::queue<std::vector<uint8_t>> m_data;
};

#endif // VIRTUALDEVICE_H
